/**
 * 
 */
package No401_500.No471_480.NumberComplement_476;
/** 
 * @author  作者 E-mail: ttljtw@qq.com
 * @date 创建时间：2017年2月19日 上午9:41:45 
 * @version 1.0 
 * @parameter  
 * @since  
 * @return  
 */
/**
 * @author 李敬
 *
 */
public class Solution {
    
    public int findComplement(int num) {
        return ~num & ((Integer.highestOneBit(num) << 1) - 1);
    }
	
    public int findComplement1(int num) {
    	int result = 0;
        String tempString = Integer.toBinaryString(num);
        for (int i = 0; i < tempString.length(); i++) {
			result = result*2+1;
		}
        result = result^num;
    	return result;
    }

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub

	}

}
